#pragma once
#include "CommonDLL.h"

class COMMONDLL_API Plugin
{
public:
    Plugin(void);
    virtual ~Plugin(void);

    std::wstring GetName() const;

	virtual bool SanityCheck(void);
	virtual bool Initialize(void);
	virtual bool Update(void);
	virtual bool Destroy(void);

protected:
    friend class PluginManager;
    void SetName( const std::wstring& name );

private:
    std::wstring m_Name;
};
